#include "widget.h"
#include "ui_widget.h"

#include <QPushButton>
#include <QIcon>
#include <QDebug>
#include <QLabel>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    setWindowTitle("标题1");

    QPushButton* button = new QPushButton(this);
    button->setText("按钮");
    //button->setWindowTitle("通过按钮设置标题");//谁是窗口谁才能设置

    //QIcon icon = this->WindowIcon();

    //QIcon test_icon("D:/1.jpg");

    //QIcon icon = "d:\\1.jpg"//单独一个会发生转义
    //QIcon本身是否释放，不影响最终的显示
    //QIcon也不支持对象树

    QIcon icon(":/1.jpg");//使用qrc用:开头,前缀+文件名
    this->setWindowIcon(icon);


    //代码设置光标
    QCursor cursor(Qt::WaitCursor);
    ui->cur_button->setCursor(cursor);

    QPixmap pixmap(":/1.jpg");//访问图片
    pixmap = pixmap.scaled(100,100);//图片缩放
    QCursor add_cursor(pixmap,10,10);//热点所在位置
    //以图片左上角为0，0原点，找到10，10为鼠标真正的位置

    ui->addButton->setCursor(add_cursor);

    //代码修改文本属性
    QLabel* label = new QLabel(this);
    label ->setText("文本属性测试");

    //字体对象
    QFont font;
    font.setFamily("仿宋");
    font.setPixelSize(30);
    font.setBold(true);
    font.setItalic(true);
    font.setUnderline(true);
    font.setStrikeOut(true);

    label->setFont(font);


    //ToolTip

    ui->addButton->setToolTip("增加不透明度");
    ui->subButton->setToolTip("降低不透明度");
    ui->addButton->setToolTipDuration(1000);//1000ms
    ui->subButton->setToolTipDuration(2000);//2000ms

}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_addButton_clicked()
{
    float opacity = this->windowOpacity();
    if(opacity >= 1.0)//setWindowOpacity中已有判断，双重判断确保防御机制
        return;
    qDebug() << opacity;
    opacity += 0.1;
    this->setWindowOpacity(opacity);
}

void Widget::on_subButton_clicked()
{
    float opacity = this->windowOpacity();
    if(opacity <= 0.0)//setWindowOpacity中已有判断，双重判断确保防御机制
        return;
    qDebug() << opacity;
    opacity -= 0.1;
    this->setWindowOpacity(opacity);
}
